﻿using Coldairarrow.Entity.DTO;
using Coldairarrow.Entity.PB;
using Coldairarrow.Entity.Print;
using Coldairarrow.Util;
using Coldairarrow.Util.ClassLibrary;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;

namespace Coldairarrow.IBusiness.PS
{
    /// <summary>
    /// 打印服务接口
    /// </summary>
    public partial interface IPrintServiceBusiness
    {
        /// <summary>
        /// 按批次获取待打印列表
        /// </summary>
        /// <param name="printer">打印机ID</param>
        /// <param name="_mongodbOptions"></param>
        /// <param name="_redisOptions"></param>
        /// <returns></returns>
        Task<List<PrintQueue>> GetBatchListAsync(string printer, MongoDBOptions _mongodbOptions, RedisOptions _redisOptions);
        /// <summary>
        /// 按月份分页返回历史打印队列
        /// </summary>
        /// <param name="_mongodbOptions"></param>
        /// <param name="year">年份</param>
        /// <param name="month">月份</param>
        /// <param name="startDay">开始日</param>
        /// <param name="endDay"></param>
        /// <param name="keyword"></param>
        /// <param name="pageIndex">页数</param>
        /// <param name="pageSize">每页记录数</param>
        /// <returns></returns>
        List<HistoryPrintQueueDTO> GetHistoryBatchList(MongoDBOptions _mongodbOptions, string year, string month, int startDay, int endDay, string keyword, int pageIndex, int pageSize);
        /// <summary>
        /// 按条件分页返回历史打印队列总页数
        /// </summary>
        /// <param name="_mongodbOptions"></param>
        /// <param name="year">年份</param>
        /// <param name="month">月份</param>
        /// <param name="startDay">上限日</param>
        /// <param name="endDay">下限日</param>
        /// <param name="keyword">物料名称，规格和批次</param>
        /// <param name="pageSize">每页记录数</param>
        /// <returns>总页数</returns>
        int GetTotalPageCount(MongoDBOptions _mongodbOptions, string year, string month, int startDay, int endDay, string keyword, int pageSize);
    }
}
//